import { BasicFetchResult } from '@/api/model/baseModel';
import { ActivityStatusEnum, ActivityTypeEnum, PublishStatusEnum } from '@/enums/activityEnum';

export interface listParams {
    keyWord: string;
    current: number;
    size: number;
}

export interface ListItem {
    /** 活动activityUnionId */
    id: number;
    /** activity_union_map 表activityUnionId */
    activityUnionId: number;
    /** 标题 */
    title: string;
    /** 封面地址 */
    coverUrl: string;
    /** 产地地址 */
    address: string;
    /** 报名开始时间 */
    enrollStartTime: string;
    /** 报名结束时间 */
    enrollEndTime: string;
    /** 活动开始时间 */
    startTime: string;
    /** 活动结束时间 */
    endTime: string;
    /** 报名人数 */
    maxNum: number;
    /** 活动进行状态 1：活动发布(活动创建) 2：报名进行中 3：报名结束 4：活动开始 5：活动结束 6：活动取消 7：活动审核中 8：活动审核失败 9 报名未开始 */
    activityStatus: ActivityStatusEnum;
    /** 活动报名成功人数 */
    passedNum: number;
    /** 虚拟报名人数 */
    untruePassedNum: number;
    /** 签到人数 */
    signNum: number;
    /** 浏览数 */
    browseNum: number;
    /** 待审核人数 */
    waitingReviewNum: number;
    /** 报名人数 */
    registerNum: number;
    /** 报名并签到人数 */
    registerSignNum: number;
    /** 报名待审核人数 */
    reviewedNum: number;
    /** 活动类型[oneself-发起单位，本组织，other_join-协办单位，其他组织] */
    activityType: ActivityTypeEnum;
    /** 发起方单位名称 */
    orgName: string;
    /** 活动发布状态 0-未发布 1-已发布  2：已下架 */
    publishStatus: PublishStatusEnum;
    /** 发起方公司名称 */
    companyName: string;
    /** 发起人姓名 */
    personName: string;
    /** 最低价格 */
    minPrice: number;
    /** 最高价格 */
    maxPrice: number;
    /** 是否是付费票活动，0 否，1 是 */
    payTicket: number;
    /** 活动是否结算分润(0:否;1:是) */
    settleStatus: number;
    /** 创建人姓名 */
    createByName: string;

    /** 创建时间 */
    createTime: string;
}

export type ListItemGetResultModel = BasicFetchResult<ListItem>;

/**
 * 活动数据统计信息
 */
export interface ActivityCountInfo {
    /** 报名数据总览-浏览次数（总） */
    browseNum: number;
    /**报名数据总览-浏览人数（总） */
    browsePeopleNum: number;
    /**报名数据总览-报名人数（总） */
    registerNum: number;
    /**报名数据总览-报名成功人数（总） */
    passedNum: number;
    /**报名数据总览-签到人数（总） */
    signNum: number;
    /**报名数据总览-待审核人数（总） */
    waitingReviewNum: number;
    /**报名数据总览-报名签到人数（总） */
    registerSignNum: number;
    /**报名数据总览-今日-浏览次数 （总）*/
    todayBrowseNum: number;
    /**报名数据总览-今日-浏览人数 （总）*/
    todayBrowsePeopleNum: number;
    /**报名数据总览-今日-报名人数 （总）*/
    todayRegisterNum: number;
    /**报名数据总览-今日-报名成功人数 （总）*/
    todayPassedNum: number;
    /**报名数据总览-今日-签到人数 （总）*/
    todaySignNum: number;
    /**报名数据总览-今日-待审核人数 （总）*/
    todayWaitingReviewNum: number;
    /**报名数据总览-今日-申请审核人数(报名+退票申请) （总）*/
    applyReviewNum: number;
    /**虚拟报名人数 （总）*/
    untruePassedNum: number;
    /**取消报名中人数（总） */
    cancelRegisterNum: number;
    /**取消报名成功人数（总） */
    cancelRegisterPassedNum: number;

    /**报名费用总览-报名数（总） */
    totalTicketNum: number;
    /**报名费用总览-报名费收入（总） */
    totalTicketPrice: number;
    /**报名费用总览-取消报名数（总） */
    refundTicketNum: number;
    /**报名费用总览-取消率(总) */
    refundRate: number;
    /**报名费用总览-退款金额（总） */
    totalRefundPrice: number;
    /**报名费用总览-费用净收入（总） */
    ticketPrice: number;
    /**报名费用总览-今日-报名数（总） */
    todayTotalTicketNum: number;
    /**报名费用总览-今日-报名费收入（总） */
    todayTotalTicketPrice: number;
    /**报名费用总览-今日-取消报名数（总） */
    todayRefundTicketNum: number;
    /**报名费用总览-今日-取消率(总) */
    todayRefundRate: number;
    /**报名费用总览-今日-退款金额（总） */
    todayTotalRefundPrice: number;
    /**报名费用总览-今日-费用净收入（总） */
    todayTicketPrice: number;
}

/**
 * 数据统计单个指标
 */
export interface IDataItem {
    /**数据名 */
    title: string;
    /**数据值 */
    number: number;
    /**今日数据 */
    dayNumber: number | undefined;
    /**是否开启提示 */
    openPopover?: boolean;
    /**提示内容 */
    popoverText?: string;
    /**单位 */
    unit?: string;
    /**前单位 */
    beforeUnit?: string;
}